Mina Protocol
Technical whitepaper:
consesus: Ouroboros Samasika
ロードマップ上にユニバーサルセットアップを持つHalo[9やMarlin[10のようSNARKにアップデートする予定
引用
[9 Halo
Sean Bowe, Jack Grigg, and Daira Hopwood. Halo: Recursive proof composition without a trusted setup. IACR Cryptology ePrint Archive, 2019:1021,
2019.
[10 Marlin
Alessandro Chiesa, Yuncong Hu, Mary Maller, Pratyush Mishra, Noah
Vesely, and Nicholas P. Ward. Marlin: Preprocessing zksnarks with universal and updatable SRS. IACR Cryptology ePrint Archive, 2019:1047,
2019
再帰的ZKP使ってる
名前を変えるように訴えられたらしい
元々
Coda Protocol
ノード/ライトクライアントのコンセンサスとトランザクションの署名をzkpで検証する
2018年
ビットコインやイーサリアムの場
自分のクライアントを彼らのネットワークに同期させたい場合、ブロックごとにチェーンを検証するのを待つ必要があり、それには数日から数週間(そしておそらく今日では数ヶ月)かかることがある
数秒かけてテストネットの最新の状態に同期し(クールなアニメーションもある)、最新のブロックの上に新しいブロックが追加されるたびにライブで検証する
仕組み
1)各新規ブロックには証明書が添付
2)ブロック全体とそのトランザクションが正しく検証され、トランザクションが最新の状態になる前の状態に正しく適用されたことが証明される
証明には前の証明が正しいという証明も含まれている
証明検証者について
できるであってる?
目的: 世界最小のブロックチェーンの開発
Minaは、TypeScriptで書かれたスマートコントラクトとゼロ知識証明(ZKP)に基づくL1ブロックチェーン
ビットコインやイーサリアムのような初期のブロックチェーンは、時間の経過とともにデータを蓄積していき、現在では数百ギガバイトのサイズになっている。時間が経つにつれて、それらのブロックチェーンのサイズは増加し続ける。これらのネットワークの現在のコンセンサス状態を検証するには、チェーン全体の履歴が必要となる。
-> EVMの問題点
Minaでは、ブロックチェーンのサイズは常に一定で、約22KB(数ツイート分のサイズ)である。この1つの再帰的な22KBのゼロ知識証明を使って、プロトコルの現在のコンセンサス状態を検証することが可能だ。つまり、参加者はネットワークの現在のコンセンサス状態を素早く同期して検証できるのだ。
minaのアーキテクチャ
ミナのゼロ知識スマートコントラクトはzkAppsと呼ばれている。
zkAppsの特徴
無制限のオフチェーン実行
ブロックチェーンからは決して見られないプライベートデータ入力のプライバシー
TypeScriptでスマートコントラクトを記述する能力
コンセンサス
pos
https://www.youtube.com/watch?v=eWVGATxEB6M&t=110s
1:50 「ミナとは?
2:40 - 暗号通貨の現状
3:53 - フルノードの寿命
6:09 - 根本的な問題 - 検証の仕組み
7:28 「解決に向けて
8:45 - zk-SNARks:偽造不可能な証明書
15:31 - SNARKの再帰的合成
18:50 - アップショット:分散化とスケーラビリティ
20:45 - まとめ
21:20 - 質疑応答
zkapp overview
how to write a zkapp
これをSuiに持ち込むことはできるか
minaが書かれている言語
OCaml
zkAppのスマートコントラクトを記述する言語
TS
blockchainのサイズ
22KB
コンセンサスアルゴリズム
Ouroboros proof of stake
スケラビリティの達成方法
再帰的なzk-SNARKs
過去のブロックチェーン状態の有効性を証明するプルーフを生成することで、Minaはブロックチェーンのサイズを固定に保つことができる。これにより、ブロックサイズの制限がネットワークに負担をかけないためスループットが向上し、ネットワークのスケーラビリティが高まる。
-> zkAppを作ってみよう、TSならSuiのProgrammable Transactionみたいに使い勝手がいいかもしれない